Apparatus and Method for Reproducing or Recording, via Buffer Memory, Sample Data Supplied from Storage Device
The present invention relates to an improved apparatus and method for reproducing, or recording and reproducing sample data (i.e., data sampled at an appropriate sampling frequency) recorded in a storage device, such as a hard disk.
Among the conventionally-known digital mixing recorders is the so-called hard disk recorder which uses a hard disk device (hereinafter also referred as an xe2x80x9cHDDxe2x80x9d) to perform recording, reproduction, mixing, etc. of sound signals of a plurality of tracks. In such a hard disk recorder, sound signals input from an external source are written via a buffer memory into the HDD for recording of the sound signals, and the thus-recorded sound signals are reproduced by reading out the sound signals from the HDD and outputting them via the buffer memory to the outside. More specifically, in the hard disk recorder, sound data are recorded in predetermined unit performance segments (e.g., data of clusters) dispersedly at appropriate address locations of a memory. To reproduce these recorded sound data, a series of the sound data is retrieved by sequentially accessing the address locations on the basis of information indicative of a linkage of the recorded locations of the sound data which is contained in separately-recorded management data, then sequentially storing the retrieved sound data into the buffer memory, and then sequentially reading out the sound data from the buffer memory, one sample per sampling period.
The conventional hard disk recorder is arranged to continue recording silent data even for a quiescent or performance part temporarily disengaged from performance, which would thus result in an inefficient use of the HDD. Further, in reproduction, the conventional hard disk recorder has to perform the needless operation of sequentially accessing the recorded positions of the silent data and then storing the silent data into the buffer memory, which would needlessly impose great loads on the HDD and control device. Generally, where a user or human operator designates a desired performance section to be automatically reproduced or played back in a repetitive fashion for the purpose of so-called punch-in/punch-out or the like, it is necessary to repetitively retrieve the sound data of the individual unit performance segments by sequentially and repetitively accessing the recorded locations, on the HDD, of the sound data included in the designated performance section. For example, where, as shown in FIG. 2, a performance section, ranging from a time point immediately before the end of a given unit performance segment (unit performance segment 1 in the illustrated example) to a time point immediately after the beginning of another unit performance segment (unit performance segment 5), is designated as a repetitive reproduction section, there is a need to sequentially access, within a very short time after reproduction of unit performance segment 4, unit performance segments 5, 1 and 2 in order to reproduce short leading and trailing portions of unit performance segments 5 and 1 and then an entire portion of unit performance segment 2. However, in the past, such access to unit performance segments 5, 1 and 2 sometimes could not be made in time, with the result that there occurred an undesired break in reproduced tones halfway through the music piece reproduction. Particularly, such an undesired break in reproduced tones would occur where the number of tracks is relatively great. To avoid the undesired break in reproduced tones halfway through the music piece reproduction, it is necessary to make appropriate time adjustment such that the reproduction of unit performance segment 1 is initiated with a sufficient time margin after completion of the reproduction of unit performance segment 5 (i.e., after the sound data of unit performance segments 1 and 2 have been completely stored into the buffer memory); however, this approach would take a long waiting time in the case where the number of tracks is relatively great.
Further, with the hard disk recorder, there is a need to, within one sampling period, 1) time-divisionally write an input sound signal for each recording track (i.e., track for which data recording has been recorded) into the buffer memory, 2) read out an output sound signal for each reproduction track (i.e., track for which data reproduction has been recorded) from the buffer memory, and 3) transfer the input sound signal for each recording track from the buffer memory to the HDD or transfer the output sound signal for each reproduction track from the HDD to the buffer memory. Thus, as the number of channels increases, the greater number of samples have to be read out and written and transferred from or to the buffer memory, so that the conventional buffer memory can simultaneously deal with a relatively small number of channels.
Further, among various known electronic musical instruments is one equipped with a function of generating metronome tones, which allows a human player to perform a music piece while listening to the metronome tones. In recording a performance via a multi-track recorder or the like, it would be very convenient if the human player could perform a desired music piece while listening the electronically-generated metronome tones and record the music piece performance for subsequent reproduction. It would be more convenient if the metronome tones would be generated during reproduction of the recorded performance to allow the human player or human mixer to identify possible tempo deviation and the like. Generally, the metronome tone generator device is arranged to electronically generate metronome tones by repetitively reading out, at a frequency corresponding a selected performance tempo, basic waveform data of a metronome tone prestored in memory. It would be even more convenient if such a metronome tone generator device would have an extra function to adjust the tone pitch in accordance with a preference of the human player. The pitch adjustment would necessitate waveform editing processing such as a pitch shift process and envelope modification of any of an attack, release and other portions for modifying a waveform stretch/contraction resulting from the pitch shift.
FIG. 27 is a block diagram showing an exemplary setup of the conventional metronome tone generator device equipped with the pitch adjustment function. This metronome tone generator device includes a waveform memory 1 which is in the form of a non-volatile memory such as a ROM or flash ROM and which has prestored therein basic waveform data of a metronome tone (i.e., waveform data of a first metronome tick in a measure and waveform data to be shared between second and subsequent metronome ticks in the measure). Phase generator 2 generates sampling clock pulses corresponding to a sample readout rate of the waveform memory 1 for realizing a tone pitch designated by the human player, as well as divided clock pulses obtained by dividing the period of each sampling clock pulse into a plurality of sampling points; note that as the sample readout rate is increased, the tone pitch becomes higher, while as the sample readout rate is decreased, the tone pitch becomes lower. Address generator 3 counts the sampling clock pulses to create read addresses to be applied to the waveform memory 1. In accordance with the read addresses from the address generator 3, the samples of the metronome tone are sequentially read out from the waveform memory 1. Interpolation circuit 4 is supplied with the samples of the metronome tone and divided clock pulses, and interpolates between the sample values at a plurality of timings of the metronome tone in order to generate metronome tone samples in predetermined sampling periods and thereby determine metronome tone sample values at individual timings for generating the metronome tone. Envelope generator 5 outputs a time-varying coefficient for modifying a waveform stretch/contraction of the metronome tone resulting from the pitch shift; note that as the tone pitch is raised, the time length to read out the samples from the waveform 1 becomes shorter and thus the envelope length becomes shorter, but as the tone pitch is lowered, the time length to read out the samples from the waveform 1 becomes longer and thus the envelope length becomes longer. Multiplier 6 multiplies each sample value output from the interpolation circuit 4 by the coefficient generated by the envelope generator 5. In this way, the metronome tone is reproduced at a pitch designated by the human player. By repeating the above-mentioned calculation each time the metronome tone is to be generated, the metronome tones are reproduced repetitively at the pitch designated by the human player.
According to a first aspect of the present invention, there is provided a sample data reproduction apparatus for connection to a storage device, having sample data stored therein, to reproduce the sample data by reading out the sample data from the storage device, which comprises: a buffer memory; a control device coupled with the storage device and the buffer memory, the control device being adapted to: sequentially read out the sample data from the storage device and then write the read-out sample data into the buffer memory; read out the sample data from the buffer memory, one sample per sampling period; sequentially update the sample data at addresses of the buffer memory where sample data readout has been completed, with the sample data newly read out from the storage device; set a jump-from address and jump-to address while the sample data are being read out, sample by sample, from the buffer memory; and cause a read address of the buffer memory to jump to the jump-to address when the read address of the buffer memory reaches the set jump-from address, to carry on reading out the sample data from the jump-to address onward; and a reproduction circuit coupled to the control device and adapted to reproduce the sample data having been read out, sample by sample, from the buffer memory.
The present invention also provides another type of sample data reproduction apparatus, to which the arrangements of the above-mentioned sample data reproduction apparatus according to the first aspect of the invention are applied for reproduction of silent data. Namely, this sample data reproduction apparatus is adapted to be connected to a storage device storing therein sample data and adapted to reproduce the sample data by reading out the sample data from the storage device, information indicative of a silent section being stored in the storage device in place of sample data corresponding to the silent section. More specifically, the inventive sample data reproduction apparatus comprises: a buffer memory adapted to store therein sample data, a silent area for storing silent sample data being set in part of the buffer memory; a control device coupled with the storage device and the buffer memory, the control device being adapted to: sequentially read out the sample data from the storage device and then write the read-out sample data into the buffer memory; read out the sample data from the buffer memory, one sample per sampling period; sequentially update the sample data at addresses of the buffer memory where sample data readout has been completed, with the sample data newly read out from the storage device; while the sample data are being read out, sample by sample, from the buffer memory and on the basis of the information indicative of the silent section, set, as a jump-from address, an address of the buffer memory corresponding to a start point of the silent section and, as a jump-to address, an address of the silent area in the buffer memory; and cause a read address of the buffer memory to jump to the jump-to address when the read address of the buffer memory reaches the set jump-from address, to carry on reading out the silent sample data from the jump-to address onward; and a reproduction circuit coupled to the control device and adapted to reproduce the sample data having been read out, sample by sample, from the buffer memory.
The present invention provides still another type of sample data reproduction apparatus, to which the arrangements of the above-mentioned sample data reproduction apparatus according to the first aspect of the invention are applied for repetitive reproduction of sample data. Namely, this sample data reproduction apparatus, which is adapted to be connected to a storage device storing therein sample data and adapted to reproduce the sample data by reading out the sample data from the storage device, comprises: a buffer memory; a control device coupled with the storage device and the buffer memory, the control device being adapted to: sequentially read out the sample data from the storage device, by one predetermined unit segment at a time, and then write the read-out sample data into the buffer memory; read out the sample data from the buffer memory, one sample per sampling period; and sequentially update the sample data at addresses of the buffer memory where sample data readout has been completed, with the sample data newly read out from the storage device, by one unit segment at a time. When the sample data of a given section ranging across a plurality of unit segments are to be read out repetitively, the control device is also adapted to, prior to readout of the given section, read out, from the storage device, individual sample data of at least a first unit segment containing a fore end portion of the given section and a second unit segment containing a rear end portion of the given section, and then store the read-out individual sample data into a first area of the buffer memory; and, during the readout of the given section, read out, from the storage device, the sample data of other unit segments than at least the first unit segment and the second unit segment, and store the read-out sample data into a second area of the buffer memory in a sequentially updating fashion. The control device is also adapted to: sequentially set a jump-from address and jump-to address to effect an address jump for successive readout of the given section; and cause a read address of the buffer memory to jump to the jump-to address when the read address of the buffer memory reaches the set jump-from address, to carry on reading out the sample data from the jump-to address onward.
The present invention also provides a sample data recording apparatus adapted to be connected to a storage device storing therein sample data and adapted to record other sample data into the storage device while reading out the sample data from the storage device, which comprises: a buffer memory; a control device coupled with the storage device and the buffer memory, the control device being adapted to: sequentially read out the sample data from the storage device, by one predetermined unit segment at a time, and then write the read-out sample data into the buffer memory; read out the sample data from the buffer memory, one sample per sampling period; and sequentially update the sample data at addresses of the buffer memory where sample data readout has been completed, with the sample data newly read out from the storage device, by one unit segment at a time. When the control device is to record other sample data separately input to at least part of a given section ranging across a plurality of unit segments while repetitively reading out the sample data of the given section, the control device also functions in such a manner that prior to readout of the given section, it reads out, from the storage device, individual sample data of at least a first unit segment containing a fore end portion of the given section and a second unit segment containing a rear end portion of the given section and then stores the read-out individual sample data into a first area of the buffer memory, that during the readout of the given section, it reads out, from the storage device, the sample data of other unit segments than at least the first unit segment and the second unit segment and stores the read-out sample data into a second area of the buffer memory in a sequentially updating fashion, that it sequentially sets a jump-from address and jump-to address to effect an address jump for successive readout of the given section, that it causes a read address of the buffer memory to jump to the jump-to address when the read address of the buffer memory reaches the set jump-from address to thereby carry on reading out the sample data from the jump-to address onward, and that for the at least part of the given section during the readout of the sample data of the given section, it writes the other sample data into the buffer memory, one sample per sampling period, time-divisionally with readout of the sample data and then reads out the other sample data from the buffer memory, by one predetermined unit segment at a time, to write the read-out other sample data into the storage device.
According to a second aspect of the present invention, there is provided a recording/reproduction apparatus for recording and/or reproducing sound data to and/or from a storage device, which comprises: a basic waveform data storage section storing therein basic waveform data of a given tone; a waveform editing section coupled with the basic waveform data storage section, the waveform editing section being adapted to read out the basic waveform data from the basic waveform data storage section to thereby perform a waveform editing arithmetic operation on the basic waveform data in accordance with a predetermined waveform editing calculation program and given waveform editing parameters; a buffer memory; and a control device coupled with the storage device, the buffer memory and the waveform editing section, the control device being adapted to: store, into one area of the buffer memory, the basic waveform data of the given tone having been subjected to the waveform editing arithmetic operation; record input sound data into the storage device via another area of the buffer memory, and/or read out the sound data recorded in the storage device to thereby reproductively output the read-out sound data via the other area of the buffer memory; and read out and reproduce the basic waveform data of the given tone stored in the one area of the buffer memory, in synchronism with recording or reproduction of the sound data to or from the storage device, time-divisionally with writing and readout of the sound data to and from the buffer memory.
According to a third aspect of the present invention, there is provided a buffer device for use with an apparatus for recording sample data of a plurality of channels into a storage device. The buffer device of the invention comprises: a memory including a plurality of banks; and a control device coupled with the memory and adapted to: assign a plurality of channels to respective separate banks, and time-divisionally write input sample data of a plurality of recording channels, one sample within each sampling period, into corresponding ones of the banks of the memory while sequentially switching between the banks on a sample-by-sample basis; sequentially read out the sample data of individual ones of the recording channels, written in the memory, in predetermined order, and transfer the read-out sample data to the storage device; and write, into addresses, of the sample data of each of the recording channels, in the memory where readout of the sample data has been completed, newly-input sample data of a corresponding recording channel, to thereby sequentially update the sample data of the individual recording channels in the memory.
The present invention also provides a buffer device for use with an apparatus for reproducing sample data of a plurality of channels from a storage device, which comprises: a memory including a plurality of banks; and a control device coupled with the memory and adapted to: assign a plurality of channels to respective separate banks, and write sample data of a plurality of reproduction channels, sequentially read out from the storage device in predetermined order and transferred to the buffer device, into corresponding ones of the banks of the memory; time-divisionally read out the sample data of individual ones of the reproduction channels written in the memory, one sample within each sampling period, while sequentially switching between the banks on a sample-by-sample basis; and write, into addresses, of the sample data of each of the reproduction channels, in the memory where readout of the sample data has been completed, sample data of a corresponding reproduction channel newly transferred from the storage device, to thereby sequentially update the sample data of individual ones of the reproduction channels in the memory.
The present invention also provides a buffer device for use with an apparatus for recording and reproducing sample data of a plurality of channels to and from a storage device, which comprises: a memory including a plurality of banks; and a control device coupled with the memory and adapted to: assign a plurality of recording and reproduction channels to respective separate banks; time-divisionally write input sample data of a plurality of recording channels, into corresponding ones of the banks of the memory; sequentially read out the sample data of individual ones of the recording channels, written in the memory, in predetermined order, and transfer the read-out sample data to the storage device; write, into addresses, of the sample data of each of the recording channels, in the memory where readout of the sample data has been completed, newly-input sample data of a corresponding recording channel, to thereby sequentially update the sample data of the individual recording channels in the memory; write sample data of a plurality of reproduction channels, sequentially read out from the storage device in predetermined order and transferred to the buffer device, into corresponding ones of the banks of the memory; time-divisionally read out and output the sample data of individual ones of the reproduction channels written in the memory; and write, into addresses, of the sample data of each of the reproduction channels, in the memory where readout of the sample data has been completed, sample data of a corresponding reproduction channel newly transferred from the storage device, to thereby sequentially update the sample data of the individual reproduction channels in the memory. In this case, the control device carries out writing of the sample data of the recording channels into the memory and readout of the sample data of the reproduction channels from the memory, one sample within each sampling period, while sequentially switching between the banks on a sample-by-sample basis.
The present invention may be constructed and implemented not only as the apparatus invention as discussed above but also as a method invention. Also, the present invention may be arranged and implemented as a software program for execution by a processor such as a computer or DSP, as well as a storage medium storing such a program. Further, the controller or processor used in the present invention may comprise a dedicated controller or processor having dedicated logic, registers and the like in the form of hardware, or a general-purpose type processor, such as a computer, capable of running desired software.